#ifndef _DEF_H_
#define _DEF_H_

#include <stdlib.h>
#include <stdio.h>

#define ERR_EXIT(m) \
    do              \
    {               \
        perror(m);  \
        exit(EXIT_FAILURE);\
    } while(0)

#define MAXLINE 1024      // 每行输入的最大长度 --> 命令的最大长度
#define MAXARG  20        // 每个名利最多 20 个参数
#define PIPELINE 5        // 管道中简单命令的个数
#define MAXNAME 100       // 重定向文件名的长度

typedef struct command {
    char* args[MAXARG + 1];   // 解析出来的命令参数列表
    int infd;
    int outfd;
}COMMAND;

#endif //MINISHELL_DEF_H
